/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package knn;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.AbstractCollection;
import java.util.ArrayList;
import java.util.Collections;

/**
 *
 * @author jairo
 */
public class Main {

	/**
	 * @param args the command line arguments
	 */
	public static void main(String[] args) {
		try {
			
			int paso;
			if (args.length < 1) {
				paso = 812;
			} else {
				paso = Integer.parseInt(args[0]);
			}
			
			String line;
			int i;
			// Cargo los datos de los ejemplos
			BufferedReader br;

			br = new BufferedReader(new FileReader("agaricus-lepiota.data"));

			AbstractCollection<Ejemplo> ejemplos = new ArrayList();
			while ((line = br.readLine()) != null) {
				String[] caracs = line.split(",");				
				i = 0;
				char[] listaCaracteres = new char[23];
				while (i < caracs.length) {					
					if (caracs[i].equals("?")) {
						caracs[i] = "b";						
					}
					listaCaracteres[i] = caracs[i].charAt(0);
					i++;
				}
				Ejemplo ej = new Ejemplo(listaCaracteres);
				ejemplos.add(ej);
			}
			System.out.println(ejemplos.size());
			System.out.println();
			
			Collections.shuffle((ArrayList)ejemplos);
			for(int k = 1; k < 6; k += 2){
				for (int j = 0; j < ejemplos.size() - paso; j += paso){
					KNN.probar(ejemplos, k, j, j + paso);
				}			
			}
			
		} catch (Exception e) {
			System.out.println("Error: " + e.toString());
		}
	}
}
